<?php

require 'SC/SCversement.php';

/*
 * Classe permettant de gérer les enregistrements de versements
 * @author Alain
 */
class SFversement{
    
    /**
     * Methode permettant d'ajouter un versement
     * @param Versement $versement
     * @return Versement le versement ajouté
     */
    public function ajouterVersement(Versement $versement){
        
        $SCversement = new SCversement();
        return $SCversement->ajouter($versement);
        
    }
    /**
     *
     * @param Versement Versement
     * @return array Versement un tableau de versement 
     */
    public function listerVersement(Versement $versement){
        
        $SCversement = new SCversement();
   
        return $SCversement->lister($versement);
        
    }
    /**
     * Methode permettant de modifier un versement
     * @param Versement $versement
     * @return Versement un versement modifié
     */
    public function modifierVersement(Versement $versement){
        
        $unVersementModifier = null;
        
        $SCversement = new SCversement();
        if($SCversement->lister(new Versement($versement->getId(), null, null, null, null, null, null, null, null))!=null)
                $unVersementModifier = $SCversement->modifier ($versement);
        
        return $unVersementModifier;
    }
    
    /**
     *Methode permettant de lister tout les versements d'une personne
     * @param Personne $personne
     * @return array Versement un tableau de versement
     */
    public function listerVersementPersonne(Personne $personne){
    
        $versements = null;
        $SCversement = new SCversement();

        if($personne!=null)
            $versements=$SCversement->lister (new Versement (null, null, null, null, null, null, null, null, $personne->getId()));

        return $versements;
    }

     /**
     *Methode permettant de lister tout les versements lié à un animal
     * @param Animal $animal
     * @return array Versement un tableau de versement
     */
    public function listerVersementAnimal(Animal $animal){
    
        $versements = null;
        $SCversement = new SCversement();

        if($animal!=null)
            $versements=$SCversement->lister (new Versement (null, null, null, null, null, null, $animal->getId(), null, null));

        return $versements;
    }
    
    /**
     *Methode permettant de lister tout les versements lié à un contrat
     * @param Animal $contrat
     * @return array Versement un tableau de versement
     */
    public function listerVersementContrat(Contrat $contrat){
    
        $versements = null;
        $SCversement = new SCversement();

        if($contrat!=null)
            $versements=$SCversement->lister (new Versement (null, null, null, null, null, null, null, $contrat->getAnimal_id(), null));

        return $versements;
    }
}
?>
